package main

import (
	"bytes"
	"fmt"
)

/**
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀，返回空字符串""。

示例 1：
输入：strs = ["flower","flow","flight"]
输出："fl"
示例 2：

输入：strs = ["dog","racecar","car"]
输出：""
解释：输入不存在公共前缀。

提示：
0 <= strs.length <= 200
0 <= strs[i].length <= 200
strs[i] 仅由小写英文字母组成

*/

func longestCommonPrefix(strs []string) string {
	if len(strs) == 0 {
		return ""
	}
	minlen := len(strs[0])
	//获取数组中最短的长度
	for _, str := range strs {
		if len(str) < minlen {
			minlen = len(str)
		}
	}
	var result bytes.Buffer

	for i := 0; i < minlen; i++ {
		temp := strs[0][i]
		for _, str := range strs {
			if str[i] != temp {
				return result.String()
			}
		}
		result.WriteByte(strs[0][i])
	}
	return result.String()
}
func main() {
	var a =[]string{"abcadc","abcad"}
	fmt.Printf(longestCommonPrefix(a))
}
